home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Design
/
WB Collection.iso
/
datatypes
/
zgif
/
zgifdatatype.doc
< prev
next >
Wrap
Text File
|
1996-04-07
|
6KB
|
162 lines
ZGIFDatatype 39.16
June '95
Another FAST Utility Written by Michael Zucchi
This is a replacement for any of the other gif datatypes available. What
makes it considerably better than any of the others? Speed. On an
A1200 it will load GIF's using multiview approximately the same speed as
loading IFF ILBM pictures. And a lot faster if loading from floppy disks.
In addition, asynchronous file reading routines have been incorporated
into the code which allow it to load pictures virtually independent
of I/O speed. For example a 680x480x256 gif picture will load off of
floppy disk within a few seconds of one loading off of a hard drive.
(this is in an Amiga 1200, with no fastmem)
It requires Release 3.0 or greater of the system software.
Main features:
o SPEED. Try it, after using this you wont want to be without it!
o Supports most gifs (only some esoteric, and mostly unused features
of the GIF8?a standard have been ignored)
o Uses async file reading for greater performance - on an A1200 will
load a picture the same speed off of floppy as off of hard drive!
o 100% Assembly language, very optimised.
o Custom chunky to planar conversion, that is reasonably fast (a version
using WritePixelLine8() runs about 50% the speed of this version)
o Now works with all 68000 series CPU's (i hope)
o Now supports transparent gifs ('copy' a transparent gif from multiview
and then paste it as a bruch in DPaint - NEAT eh?)
o Its FREE! (this is of course the best bit)
Main limitations: (hey, its not _perfect_ after all)
o OM_WRITE BOOPSI method not yet implemented. Expect this in a future
release.
o Only decodes pictures with a global colour table. Most gif loaders
do the same, and most writers write them.
o Ignores any local colour tables (but still decodes picture). Could
lead to a bad palette.
Distribution:
This program is FreeWare, _please_ give it to your friends, your enemies
ANYONE who could possibly use it or otherwise spread it around. Datatypes
are a really excellent addition to the OS but there aren't yet enough
quality datatypes out there.
The original achive in which this text file is placed may be included in
any other release of non-commercial software, so long it remains
intact. If anyone wants to put it on a commercial release, just contact me.
Installation:
Copy the gif.datatype file into your sys:classes/datatypes/ drawer
Copy the Datatypes/GIF file (and its icon) into DEVS:Datatypes/
Reboot your machine or use AddDataTypes to enable it.
The Author:
I've just finished a 4 year Computer Systems Engineering degree at last ...
And have a 6 month contract working for The University of South Autralia,
on their 'web pages' (http://cis0.levels.unisa.edu.au/www/cis/), as well
as some sysadmin work.
I can be reached via email at:
zucchi@zedzone.apana.org.au (at home)
zucchi@box.apana.org.au
9107047w@lux.levels.unisa.edu.au (till end of '95) (at work)
or Aussie Post via: ('home' address)
Michael Zucchi
PO box 824
Waikerie SA 5330 <- SA = South Australia
or if ya live in Adelaide, ring Freds BBS and say hi.
I'd like to hear about any major/minor bugs.
Thanks and the rest:
Thanks to the guys who supplied me with those odd (and i mean _odd_ :)
gif's to test some of the weirder stuff. And the other guys who suggested
i do it. And to all those guys who mailed me with bugs. Hopefully the
screenmode selection is a bit better now fellas?
Thanks also to the C= software eng's for making such a _cool_ OS.
To the losers:
A big *no thanks* to the lamers out there not sticking to the
distribution restrictions outlined above (various PD libraries and
other datatype distributions). Considering this is free, and it wasn't
just piecing together some C source, you could be a bit more considerate.
Zgif 1.0?
Will i ever release it? I dont know ... the version i have now does
a lot of things, and its what i personally use to show gif's and iff's
but it still needs some work to become releasable.
///
/// Michael Zucchi
\\\/// zucchi@zedzone.apana.org.au
\\\/ Computer Systems Engineer (in the making)
Note:
I dont know what to do about the GIF copyright notice, since
Compuserve did its thing a few months ago ...?
Maybe its time for a ZPNG (thats what its called right? :)
History
39.0 Initial version
39.1 Now does any depth gif, not only 4 or 8, used to ignore.
39.2 Now supprts interlaced gifs, used to ignore.
39.3 Added better viewmode selection via BestModeIDA(), uses
the 'workbench' monitor (if possible).
39.4 Fixed a tiny bug in extension block skipping code.
39.5 Monitor selection was up shit creek. Now it should work a lot
better, and select a decent monitor (i only had Euro72 active,
so it seemed to be ok before). No longer tries to clone the
workbench monitor.
39.6 Was passing incorrect dimensions to the datatype object via the
DTA_NominalHoriz/Vert tags. Caused multiview to open a strange
sized window if run on workbench.
39.7 Changed GetBestMode() code - again. Now it asks for a mode with
roughly square pixels (actually 130:100 seems to be best aspect???).
Appears to work better anyway.
39.8 Changed to use interleaved bitmaps if possible
39.9 Changed code to work with all 68000 series CPU's, this also
includes a more robust gif decoder (crashes and hangs less often)
39.10 Fixed a bug, which would cause crashes sometimes with 68000 machines.
39.11 Yet another bug in the new decoder - caused the last line of all gifs
to be missing.
39.12 Minor bug - the last row of some gifs would be decoded correctly,
but it wasn't output to the bitmap.
39.13 Major bug - *VERY*COMPRESSIBLE* gifs could overrun the line output
buffer before the data was output.
39.14 Added transparent gif support, via the bitmapheader.
39.15 Data beyond the picture width is now always cleared, this fixed a
problem with some viewers - with extra crap appearing along the
right hand side of some pictures.
39.16 The revision 15 changes had some screwy problems, now rectified.
The interlaced gif handling code could sometimes stop one line
early - now it should work with all sizes.
(i should do more testing, but i dont have enough odd sized gifs)